草庐IT

C++11 make_shared 实例化

全部标签

c# - 识别 MethodInfo 实例是否是属性访问器

我正在使用CastleDynamicProxy编写装饰代理.我需要代理的拦截器只拦截属性写入(而不是读取),因此我正在检查方法的名称:publicvoidIntercept(IInvocationinvocation){if(invocation.Method.Name.StartsWith("set_"){//...}invocation.Proceed();}现在这工作正常,但我不喜欢我的代理对属性的实现方式有深入了解的事实:我想用类似于以下内容的方法替换方法名称检查:if(invocation.Method.IsPropertySetAccessor)不幸的是,我的Google-

c# - 如何在非托管内存中实例化 C# 类? (可能的?)

更新:现在有一个“有效”的公认答案。您永远、永远、永远、永远都不应该使用它。曾经。首先让我声明我是一名游戏开发者,以此作为我的问题的序言。有一个合法的-如果非常不寻常-与性能相关的原因想要这样做。假设我有一个这样的C#类:classFoo{publicinta,b,c;publicvoidMyMethod(intd){a=d;b=d;c=a+b;}}没什么好看的。请注意,它是一种仅包含值类型的引用类型。在托管代码中我想要这样的东西:Foofoo;foo=Voodoo.NewInUnmanagedMemory();//NewInUnmanagedMemory函数会是什么样子?如果不能在C

C# WPF 如何强制执行 Windows 的单个实例

我想知道在WPF中为每个应用程序拥有一个给定窗口的单个实例的最佳方式(读起来最优雅)是什么。我是.NET和WPF的新手,我的想法看起来很蹩脚。privatestaticreadonlyObjectMUTEX=newObject();privatestaticAboutWindowINSTANCE;publicstaticAboutWindowGetOrCreate(){lock(MUTEX){if(INSTANCE==null){INSTANCE=newAboutWindow();}INSTANCE.Show();returnINSTANCE;}}privateAboutWindow(

c# - Azure 工具 - 对象引用未设置为对象的实例

我正在尝试在VisualStudio2010中创建一个使用“WindowsPhone空云应用程序”模板(WindowsAzure工具)的新项目。创建新项目时,它会打开一个带有说明/自述文件的小窗口,其中显示:InSolutionExplorer,right-clicktheWindowsAzureproject,pointtoDebugandclickStartnewinstance.WaitfortheWebroletostartandclicktheContinuetothiswebsite(notrecommended)linktobeabletobrowsethesitedes

c# - 如何在尝试删除文件时调试 "Sharing Violation"

我有一个多线程C#应用程序,它创建文件,打开它们进行处理,然后在完成后删除它们。此应用程序可以预期处理1-100个文件。有点随机(很可能归因于应用程序的多线程性质)当我尝试在处理后删除文件时遇到共享冲突。我的直觉告诉我,维克,你在尝试删除文件之前没有正确关闭/处置文件。如果每个文件都发生这种情况,我会凭直觉去做,但事实并非如此。所以,我试图找出我在哪里犯了错误。外面有人对如何调试此类异常有任何指示吗?如果有意义的话,我很乐意在文件上看到堆栈跟踪。我将尝试展示伪代码,但是,我的问题更多是关于如何调试此类异常:申请事件:操作开始+=创建新处理器。传输文件+=Processor.Proces

c# - 使用 C# 检测 IE11

在加载网页之前,我会检测浏览器和版本以确定兼容性。因此,如果浏览器低于IE7,我会显示一条不兼容的消息。在IE11中测试网页,我的网页显示不兼容的消息。我目前正在从以下位置获取浏览器名称:varbrowser=Request.Browser.Browser;和来自的版本varversion=Request.Browser.Version;然后我检查浏览器是否为IE且版本>=7。我相信IE11的用户代理已经改变。那么使用C#检测浏览器是否>=IE7的最佳方法是什么。编辑:Request.Browser.Browser返回浏览器名称,例如IE。Request.Browser.Version

c# - "ref"使用实例

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我正在努力如何在实际应用程序中使用“ref”(通过引用传递参数)。我想要一个简单且主要有意义的例子。到目前为止,我发现的所有内容都可以通过向方法添加返回类型轻松重做。有人知道吗?谢谢!

c# - 实现 IEnumerable 的类实例的技术正确术语是什么?

我们称这样的实例为“集合”吗?一个“可枚举的”?或者是其他东西?我问我的两个主要目标是:让其他开发人员理解,而不必解释该类实现了IEnumerable。技术上正确和精确。 最佳答案 从技术上讲,我会通知开发人员它实现了IEnumerable。说任何其他信息都不够有用。任何了解IEnumerable的人都会立即了解您的类的功能。任何不了解的人都不会理解您所描述的内容。 关于c#-实现IEnumerable的类实例的技术正确术语是什么?,我们在StackOverflow上找到一个类似的问题:

c# - 创建导入的 MEF 部件的多个实例

目前我的WPF应用程序导入这样的部分[Import(typeof(ILedPanel)]publicILedPanelPanel{get;set;}但这为ma提供了实现ILedPanel的类的单个实例。我真正想做的是能够创建尽可能多的实例我需要的。请注意,ILedPanel仅包含一个导出随时使用该软件。(如果我使用带有List的导入,它会给我一个实例对于每个实现ILedPanel的类)有什么建议吗? 最佳答案 所有其他答案都很老,所以他们没有提到MEF中一个相对较新的功能,称为ExportFactory.这个通用类允许您导入Expo

用make_shared防止复制构建

我有一个经理类,允许客户端通过两种方法添加组件:一个没有参数,即默认构造组件,而另一个则采用了rvalue(应允许客户端使用组件的自定义构造函数)。这是我想到的代码:templatestd::shared_ptrAddComponent(){returnAddComponent(TComponent{this});}templatestd::shared_ptrAddComponent(constTComponent&&obj){autoptr=std::make_shared(obj);vec.push_back(ptr);returnptr;}我的问题是std::make_shared始终